package com.bonc.apicreator.entity;


import java.util.Date;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Transient;

import lombok.Getter;
import lombok.Setter;


/**
 * RestApi实体类
 *
 * @author gaopengyu
 * @version 2016年8月5日
 * @see RestApi
 * @since
 */
@Setter
@Getter
@Entity
public class RestApi {
    /**
     * 主键
     */
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;// 主键id

    /**
     * api的名称
     */
    private String name;

    /**
     * 数据表
     */
    private String tableName;

    /**
     * 请求的url
     */
    private String requestUrl;

    /**
     * 请求类型
     */
    private String requestType;

    /**
     * 请求形式
     */
    private String requestFormat;

    /**
     * 响应形式
     */
    private String responseFormat;

    /**
     * 响应类型
     */
    private String responseDataType;

    /**
     * 排序
     */
    private int sort;

    /**
     * 描述
     */
    private String description;

    /**
     * 创建时间
     */
    private Date createDate;

    /**
     * 所属工程的id
     */
    private Long proId;

    /**
     * 所属模块name
     */
    private String moduleName;

    /**
     * 所属模块权重
     */
    private int moduleSort;

    /**
     * 接口方法返回值
     */
    @Transient
    private List<RestApiResponse> returnValue;

    /**
     * 接口方法的参数
     */
    @Transient
    private List<RestApiRequest> params;

    /**
     * rowkey
     */
    @Transient
    private RowKey rowKey;

    /**
     * 自定义sql
     */
    @Transient
    private SqlSentence sqlSentence;

    /**
     * 分隔符
     */
    private String separatorValue;

    /**
     * 表标识
     */
    private String tableFlag;

    /**
     * 是否选择分页
     */
    private String returnValIsPage;
}
